import { computed } from "vue"

export default (props: any) => {

    /** 正常按钮 */
    const _no_plain = {
        // 文字颜色
        color: {
            default: ["#000", "#fff", "#fff", "#fff", "#fff", "#fff"],
            hover: ["#409eff", "#fff", "#fff", "#fff", "#fff", "#fff"]
        },
        // 背景颜色
        bgColor: {
            default: ["transparent", "#409eff", "#67c23a", "#909399", "#e6a23c", "#ff0000"],
            hover: ["#ecf5ff", "#79bbff", "#95d475", "#b1b3b8", "#eebe77", "#db0d0d"]
        },
        // 边框颜色
        borderColor: {
            default: ["#dcdfe6", "#409eff", "#67c23a", "#909399", "#e6a23c", "#ff0000"],
            hover: ["#c6e2ff", "#79bbff", "#95d475", "#b1b3b8", "#eebe77", "#db0d0d"]
        }
    }

    /** 朴素按钮 */
    const _plain = {
        // 文字颜色
        color: {
            default: ["#000", "#409eff", "#67c23a", "#909399", "#e6a23c", "#ff0000"],
            hover: ["#409eff", "#fff", "#fff", "#fff", "#fff", "#fff"]
        },
        // 背景颜色
        bgColor: {
            default: ["transparent", "#ecf5ff", "#f0f9eb", "#f4f4f5", "#fdf6ec", "#fef0f0"],
            hover: ["transparent", "#409eff", "#67c23a", "#909399", "#e6a23c", "#ff0000"]
        },
        // 边框颜色
        borderColor: {
            default: ["#dcdfe6", "#409eff", "#67c23a", "#909399", "#e6a23c", "#ff0000"],
            hover: ["#409eff", "#79bbff", "#95d475", "#b1b3b8", "#eebe77", "#db0d0d"]
        }
    }

    /** 禁用状态 */
    const _disabled = computed(() => {
        return {
            color: props.plain ? ["#a8abb2", "#a0cfff", "#b3e19d", "#c8c9cc", "#f3d19e", "#fab6b6"] : ["#a8abb2", ..._no_plain.color.default.filter((v, i) => i > 0)],
            // 背景颜色
            bgColor: props.plain ? _plain.bgColor.default : ["#ffffff", "#a0cfff", "#b3e19d", "#c8c9cc", "#f3d19e", "#fab6b6"],
            // 边框颜色
            borderColor: props.plain ? ["#e4e7ed", "#d9ecff", "#e1f3d8", "#e9e9eb", "#faecd8", "#fde2e2"] : ["#e4e7ed", "#a0cfff", "#b3e19d", "#c8c9cc", "#f3d19e", "#fab6b6"]
        }
    })

    return { _no_plain, _plain, _disabled }
}